package partTwo;
/* 本类用于测试静态static关键字*/
public class TestStatic {
    public static void main(String[] args) {
        Fruit f = new Fruit();
        f.grow();
        f.clean(); //没有提示需要自己写
        System.out.println(f.weight);
        System.out.println(f.kind);  //没有提示需要自己写
        Fruit f2 = new Fruit();

        //我们可以通过类名直接调用静态资源，而且这个IDEA会提示
        Fruit.clean();
        System.out.println(Fruit.kind);
        /* 静态资源在内存中只有一份，被全局所有对象共享
         * 所以我们会发现，通过任意一种方式修改了静态变量的值以后，其他任何方式查看，都是修改后的值*/
        Fruit.kind = "苹果";
        System.out.println(Fruit.kind);
        f.kind = "香蕉";
        System.out.println(Fruit.kind);
        System.out.println(f.kind);
        System.out.println(f2.kind);
        f2.kind = "猕猴桃";
        System.out.println(Fruit.kind);
        System.out.println(f.kind);
        System.out.println(f2.kind);
    }
}
/* 0.被stati修饰的资源称作静态资源
 * 静态资源是随着类加载而加载到内存中的，比对象优先进入内存
 * 所以静态资源可以通过类名直接调用，即使没有创建对象，也可以调用*/
//1.创建一个水果类
class Fruit{
    /* 1.可以用static修饰属性吗  可以*/
    //2.定义属性
    static  String kind; //种类
    double weight; //重量

    //3.定义普通方法
    /* 2.可以用static修饰方法吗？  可以*/
    static public void clean(){
        System.out.println("洗洗更健康");
    }
    public void grow(){
        System.out.println("这个水果长的真大");
    }
}